package com.cloud.easy.im.argeement;

/**
 * 协议类型
 * @author wangjian
 * @version 0.1
 * @create 2020年09月02日5:09 下午
 */
public interface AgreementType {

    /**
     * from client
     */
    interface C
    {
        /** 由客户端发出 - 协议类型：客户端登陆  **/
        byte FROM_CLIENT_TYPE_OF_LOGIN = 0;
        /** 由客户端发出 - 协议类型：心跳包 **/
        byte FROM_CLIENT_TYPE_OF_KEEP$ALIVE = 1;
        /** 由客户端发出 - 协议类型：发送通用推送数据(推送场景，推进使用于1v1场景) **/
        byte FROM_CLIENT_TYPE_OF_COMMON$PUSH = 2;
        /** 由客户端发出 - 协议类型：发送通用拉取数据(拉取场景，推荐适用于1vN场景) **/
        byte FROM_CLIENT_TYPE_OF_COMMON$PULL = 3;
        /** 由客户端发出 - 协议类型：客户端退出登陆 **/
        byte FROM_CLIENT_TYPE_OF_LOGOUT = 4;
        /** 由客户端发出 - 协议类型：QoS保证机制中的消息应答包（目前只支持客户端间的QoS机制哦） **/
        byte FROM_CLIENT_TYPE_OF_RECIVED = 5;
    }

    /**
     * from server
     */
    interface S
    {
        /** 由服务端发出 - 协议类型：响应客户端的登陆 **/
        byte FROM_SERVER_TYPE_OF_RESPONSE$LOGIN = 50;
        /** 由服务端发出 - 协议类型：响应客户端的心跳包 **/
        byte FROM_SERVER_TYPE_OF_RESPONSE$KEEP$ALIVE = 51;
        /** 由服务端发出 - 协议类型：反馈给客户端的错误信息 **/
        byte FROM_SERVER_TYPE_OF_RESPONSE$FOR$ERROR = 52;
    }

}
